#!/bin/sh

#redstar
#chmod +x getPs.sh
#run: ./getPs.sh   OR  ./getPs.sh sleepTime stepsTimes scenario
#output: scenario_ip_time.txt , record the progress of os during the shell running time.


secs=20
steps=36
Lip=127.0.0.1
ps_f="ps_"
if [ -n "$1" -a -n "$2" -a -n "$3" ];then
secs=$1
steps=$2
ps_f=$3
fi

ps_time=`date +%Y%m%d`"_"`date +%H%M%S`
#判断系统类型，选择不同命令
OSType=`uname`
if [ $OSType = "Linux" ];then
Lip=`ifconfig -a |grep "inet addr:"|head -1|cut -d":" -f2|cut -d" " -f1|sed 's/\./_/g'`
fileName=$ps_f$Lip"_"$ps_time.txt
count=1
while (( $count &lt;= $steps ))
do
ps -eo "%C # %G # %P # %U # %g # %n # %p # %r # %t # %u # %x # %y # %z # %c # %a"&gt;&gt;$fileName
echo&gt;&gt;$fileName
echo&gt;&gt;$fileName
sleep  $secs
count=`expr $count + 1`
done
elif [ $OSType = "AIX" ];then
Lip=`ifconfig -a |grep "inet"|head -1|cut -d" " -f2|sed 's/\./_/g'`
fileName=$ps_f$Lip"_"$ps_time.txt
count=1
while (( $count &lt;= $steps ))
do
ps -eo "%t # %D # %G # %n # %C # %r # %p # %P # %g # %u # %S # %x # %T # %y # %U # %z # %c # %a"&gt;&gt;$fileName
echo&gt;&gt;$fileName
echo&gt;&gt;$fileName
sleep  $secs
count=`expr $count + 1`
done
fi